// pages/mine/mine.js
import {
  tips
} from "../../utils/tip";
import { wxRequest } from "../../utils/ajax";
var app = getApp()
Page({
  data: {
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    flag: true,
  },
  //事件处理函数
  toOrder: function () {
    wx.navigateTo({
      url: '../order/order'
    })
  },
  // onLoad: function () {
  //   if (app.globalData.userInfo) {
  //     this.setData({
  //       userInfo: app.globalData.userInfo,
  //       hasUserInfo: true
  //     })
  //   } else if (this.data.canIUse) {
  //     // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
  //     // 所以此处加入 callback 以防止这种情况
  //     app.userInfoReadyCallback = res => {
  //       this.setData({
  //         userInfo: res.userInfo,
  //         hasUserInfo: true
  //       })
  //     }
  //   } else {
  //     // 在没有 open-type=getUserInfo 版本的兼容处理
  //     wx.getUserInfo({
  //       success: res => {
  //         app.globalData.userInfo = res.userInfo
  //         this.setData({
  //           userInfo: res.userInfo,
  //           hasUserInfo: true
  //         })
  //       }
  //     })
  //   }
  // },
  // getUserInfo: function (e) {
  //   console.log(e.detail.userInfo)
  //   app.globalData.userInfo = e.detail.userInfo
  //   console.log(app.globalData.userInfo)
  //   this.setData({
  //     userInfo: e.detail.userInfo,
  //     hasUserInfo: true
  //   })
  // }, 
  getUserInfo: function (e) {
    let that = this;
    if (e.detail.errMsg == 'getUserInfo:fail auth deny') {
      console.log('拒绝授权')
    } else {
      app.globalData.userInfo = e.detail.userInfo;
      that.setData({
        userInfo: e.detail.userInfo,
        hasUserInfo: true
      })
      that.login();
    }
  },
  /**
    * 生命周期函数--监听页面加载
    */
  onLoad: function (options) {
        if (app.globalData.userInfo) {
          this.isGetUserInfo(app.globalData);
      // this.setData({
      //   userInfo: app.globalData.userInfo,
      //   hasUserInfo: true
      // })
    } else if (this.data.canIUse) {
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        // this.setData({
        //   userInfo: res.userInfo,
        //   hasUserInfo: true
        // })
        this.isGetUserInfo(res);
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          // app.globalData.userInfo = res.userInfo
          // this.setData({
          //   userInfo: res.userInfo,
          //   hasUserInfo: true
          // })
          this.isGetUserInfo(res);
        }
      })
    }
   
  },
  // 是否授权微信信息
  isGetUserInfo: function (e) {
    let that = this;
    wx.getSetting({
      success(res) {
        console.log('是否授权微信信息');
        console.log(res);
        if (!res.authSetting['scope.userInfo']) {
          //还没有授权
          that.setData({
            flag: true
          })
        } else {
          //已授权,直接调用wx.login获取openId
          tips.loading();
          // that.setData({
          //   flag: false,
          //   userInfo: e.userInfo,
          //   hasUserInfo: true
          // })
          that.login(e);
        }
      }
    });
  },

  // 微信官方接口登录
  login: function (e) {
    let that = this;
    wx.login({
      success: function (res) {
        console.log("wxlogin-------");
        that.getOpenId(res.code,e);
        tips.loaded();
      }
    });
  },
  //openId的获取
  getOpenId: function (code,e) {
    let that = this;
    wxRequest('/uUser/getOpenId.wx', {
      code: code
    }, function (res) {
      console.log("openId的获取");
      console.log(res);

      if (res.data.code == 'success') {
        app.globalData.openId = res.data.openId;

        var userDto = {
          userInfo: app.globalData.userInfo,
          openId: res.data.openId
        }
        var user = JSON.stringify(userDto);
        that.wxLogin(user,e);

        // wx.reLaunch({
        //   url: '/pages/index/index'
        // });

      } else {
        tips.confirm(res.data.msg);
      }
    });
  },
  // 微信登录请求
  wxLogin: function (user,e) {
    let that = this;
    wxRequest('/uUser/wechatLogin.wx', {
      userJson: user
    }, function (res) {
      console.log("登陆微信");
      console.log(res);

      if (res.data.code == 'success') {
        app.globalData.userkey = res.data.userkey
        that.setData({
          flag: false,
          userInfo: e.userInfo,
          hasUserInfo: true
        })
        // wx.reLaunch({
        //   url: '/pages/index/index'
        // });
      }
    });
  },
  addArt: function (e) {
    wx.navigateTo({ url: '../publish/publish' });
  },
  search: function (e) {
    wx.navigateTo({ url: '../search/search' });
  },
  note: function (e) {
    wx.navigateTo({ url: '../note/note' });
  },
})
